const systemConfigStore = defineStore({
	// 这里的id必须为唯一ID
	id: 'systemConfigStore',
	state: () => {
		return {
			amapConfig: {
				key: 'a8c8cd6f81adebeefa3969999da095c3',
				securityJsCode: 'b0e4fee491bfedae04f1f537d5be3675',
				version: '2.0',
				plugins: ['AMap.ToolBar', 'AMap.Driving'],
				AMapUI: {
					version: '1.1',
					plugins: [],
				},
				Loca: {
					version: '2.0.0',
				},
				area: '东阳市', //行政区划
				center: [120.307702, 29.10085], //初始化定位中心点
				viewMode: '3D',
				zoom: 11.5,
				zooms: [10.4, 22],
				mapStyle: 'amap://styles/ef8cdb08ce301fedf14e95499959f247',
				showLabel: true,
				pitchEnable: true,
				rotateEnable: true,
				pitch: 55,
				rotation: -15,
				districtSearch: {
					// 返回行政区边界坐标等具体信息
					extensions: 'all',
					// 设置查询行政区级别为 区
					level: 'district',
				},
				buildingAnimation: true, //楼块出现是否带动画
				lockMapBounds: { northEast: [], southWest: [] },
			},
			defaultAESKey: 'eGlhb3l5TG92ZXpoQW5kSA==',//默认秘钥
			defaultSM4Key: '79797869616f68687869616f63637a68',//默认秘钥
			defaultSM2PublicKey: '04bb081b48c82944dfeb83f752db4de467d947e1e26c5eda26c102151425986d48285e2a64eb41ef89271776ff4e41fd5e4a82570dd196993d07f3ea6963b63de0',//默认公钥
			defaultSM2PrivateKey: '00ce0bc4cd23e3711dfd2d9052abdb086d52e5ece2c0bb346ce2624ba1b3756cc8',//默认私钥
			allApiCrytpo:false,//是接口否全不加密
			splitFlag:false,//是否开启分段加密
		};
	},
	// 等同于vuex的getter
	getters: {},
	// pinia 放弃了 mutations 只使用 actions
	actions: {
		setDefaultSM2PublicKey(str: string) {
			this.defaultSM2PublicKey = str;
		},
		setDefaultSM2PrivateKey(str: string) {
			this.defaultSM2PrivateKey = str;
		},
	},
	// 开启数据缓存
	persist: {
		enabled: true,
		strategies: [
			{
				// key可以自己定义，不填的话默认就是这个store的ID
				//key: 'user_store',
				// 保存位置，默认保存在sessionStorage storage可以填sessionStorage，localStorage
				storage: sessionStorage,
				// 指定要持久化的数据，默认所有 state 都会进行缓存，你可以通过 paths 指定要持久化的字段，其他的则不会进行持久化。
				//paths: ['userId'],
			},
		],
	},
});

export default systemConfigStore;
